// 这里的文件是路由守卫的操作
import { ElMessage } from "element-plus";
import store from "@/store";

// 全局前置守卫
export function createRouterGuard(router) { 
    router.beforeEach((to, from, next) => { 
        // 设置页面标题
        document.title = to.meta.title || '聊天室应用'

        // 权限验证
        const isLogin = localStorage.getItem('isLogin')
        console.log('isLogin:', store.getters.isLogin)
        if (to.meta.requiresAuth && !isLogin) { 
            ElMessage.error('请先登录！')
            return next('/login')
        } 

        // 已登录用户访问登录页自动跳转首页
        if (to.path === '/login' && isLogin) {
            return next('/chat')
        }

        if (to.path === '/' && isLogin) { 
            return next('/chat')
        }

        next()
    })

    // 全局的后置钩子
    router.afterEach(() => { 
        // 这里可以添加页面切换动画、统计等
        console.log('afterEach')    
    })

    // 路由错误处理
    router.onError((error) => { 
        console.error('路由错误:', error)
        ElMessage.error('页面加载失败，请刷新重试')
    })
}
